// -----------------------------------------------------------------------------
// Generate By Furion Tools v1.6.0                            
// -----------------------------------------------------------------------------

using Furion.DatabaseAccessor;
using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
using System;
using System.Collections.Generic;

#nullable disable

namespace iemtm.WeChat.Core
{
    public partial class GenFeeStatics : IEntity<MasterDbContextLocator>, IEntityTypeBuilder<GenFeeStatics, MasterDbContextLocator>
    {

        public int GenRecordId { get; set; }
        public string AreaCode { get; set; }
        public string AreaName { get; set; }
        public int BaseStationID { get; set; }
        public string BaseStation { get; set; }
        public int? Year { get; set; }
        public int? Season { get; set; }
        public string Month { get; set; }
        public DateTime? CreateDate { get; set; }
        public int? GenRunTimes { get; set; }
        public decimal? GenRunPeriod { get; set; }
        public decimal? KWenergy { get; set; }
        public decimal? GenFee { get; set; }
        public decimal? TrafficFee { get; set; }
        public decimal? EmployeeFee { get; set; }
        public decimal OtherFee { get; set; }
        public string PrjCode { get; set; }
        public string PrjName { get; set; }
    
        public void Configure(EntityTypeBuilder<GenFeeStatics> entityBuilder, DbContext dbContext, Type dbContextLocator)
        {
                entityBuilder.HasKey(e => new { e.BaseStationID, e.Month })
                    .HasName("PK__GenFeeSt__5B9817FA8B62294D");

                entityBuilder.Property(e => e.Month)
                    .HasMaxLength(10)
                    .IsUnicode(false);

                entityBuilder.Property(e => e.AreaCode).HasMaxLength(50);

                entityBuilder.Property(e => e.AreaName).HasMaxLength(50);

                entityBuilder.Property(e => e.BaseStation).HasMaxLength(50);

                entityBuilder.Property(e => e.CreateDate).HasColumnType("datetime");

                entityBuilder.Property(e => e.EmployeeFee).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.GenFee).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.GenRecordId).ValueGeneratedOnAdd();

                entityBuilder.Property(e => e.GenRunPeriod).HasColumnType("decimal(18, 4)");

                entityBuilder.Property(e => e.KWenergy).HasColumnType("decimal(18, 3)");

                entityBuilder.Property(e => e.OtherFee).HasColumnType("decimal(18, 2)");

                entityBuilder.Property(e => e.PrjCode).HasMaxLength(100);

                entityBuilder.Property(e => e.PrjName).HasMaxLength(100);

                entityBuilder.Property(e => e.TrafficFee).HasColumnType("decimal(18, 2)");
        }

    }
}

